//
//  THSystemAuthManagerConfig.h
//  MengLiao
//
//  Created by xiuxin on 2022/7/15.
//  Copyright © 2022 BaseBusiness. All rights reserved.
//
#ifndef THSystemAuthManagerConfig_h
#define THSystemAuthManagerConfig_h

#import <AssetsLibrary/AssetsLibrary.h>
//#import <AddressBook/AddressBook.h>
//#import <EventKit/EventKit.h>
#import <Photos/Photos.h>
//#import <CoreBluetooth/CoreBluetooth.h>
#import <CoreLocation/CoreLocation.h>
#import <UIKit/UIKit.h>

typedef enum : NSUInteger {
    THRequestSystemLocationAuthAlways,
    THRequestSystemLocationAuthWhenInUse,
} THRequestSystemLocationAuthType;

// 检查摄像头视频权限block
typedef void(^THCheckSystemCameraAuthComplete)(BOOL isAuthorized,AVAuthorizationStatus authorizationStatus);
// 检查麦克风音频权限block
typedef void(^THCheckSystemAudioAuthComplete)(BOOL isAuthorized,AVAuthorizationStatus authorizationStatus);
//// 检查相册权限block
typedef void(^THCheckSystemPhotoAlbumAuthComplete)(BOOL isAuthorized,PHAuthorizationStatus authorizationStatus);
//// 检查通讯录权限block
//typedef void(^THCheckSystemAddressBookAuthComplete)(BOOL isAuthorized,ABAuthorizationStatus authorizationStatus);
//// 检查通知权限block
typedef void(^THCheckSystemNotificationAuthComplete)(BOOL isAuthorized,UIUserNotificationType userNotificationType);
//// 检查日历权限block
//typedef void(^THCheckSystemCalendarAuthComplete)(BOOL isAuthorized,EKAuthorizationStatus authorizationStatus);
//// 检查备忘录权限block
//typedef void(^THCheckSystemReminderAuthComplete)(BOOL isAuthorized,EKAuthorizationStatus authorizationStatus);
// 检查定位权限block
typedef void(^THCheckSystemLocationAuthComplete)(BOOL isAuthorized,CLAuthorizationStatus authorizationStatus);
//// 检查蓝牙权限block
//typedef void(^THCheckSystemBluetoothAuthComplete)(BOOL isAuthorized,CBPeripheralManagerAuthorizationStatus authorizationStatus);


// 请求摄像头视频权限block
typedef void(^THRequestSystemCameraAuthComplete)(BOOL isGranted);
// 请求麦克风音频权限block
typedef void(^THRequestSystemAudioAuthComplete)(BOOL isGranted);
// 请求相册权限block
typedef void(^THRequestSystemPhotoAlbumAuthComplete)(BOOL isGranted,PHAuthorizationStatus authorizationStatus);
//// 请求通讯录权限block
//typedef void(^THRequestSystemAddressBookAuthComplete)(BOOL isGranted,CFErrorRef _Nullable error);
//// 请求日历权限block
//typedef void(^THRequestSystemCalendarAuthComplete)(BOOL isGranted,NSError * _Nullable error);
//// 请求备忘录权限block
//typedef void(^THRequestSystemReminderAuthComplete)(BOOL isGranted,NSError * _Nullable error);
//// 请求定位权限block
//typedef void(^THRequestSystemLocationAuthComplete)(BOOL isGranted,CLAuthorizationStatus authorizationStatus);


#endif /* THSystemAuthManagerConfig_h */
